package com.scau402.system1.repository;

import com.scau402.system1.domain.dto.WarehouseStorage;
import com.scau402.system1.domain.po.WmsCheckBoundOrderPO;
import com.scau402.system1.domain.po.WmsCheckboundOrderDetailPO;
import com.scau402.system1.domain.query.WmsCheckBoundOrderQuery;
import com.scau402.system1.domain.vo.WmsAdjustBoundOrderVO;
import com.scau402.system1.domain.vo.WmsCheckBoundOrderVO;

import java.util.List;

/**
 * 盘点单Repository
 * @since 2024/2/3
 */
public interface IWmsCheckOrderRepository {
    void save(WmsCheckBoundOrderPO normalPO);
    void save(WmsCheckBoundOrderPO normalPO, WmsCheckboundOrderDetailPO detailPO);

    List<Long> findActiveOrderByWarehouseId(Long warehouseId);

    List<Long> findActiveOrderByStorageId(Long storageId);

    List<WmsCheckBoundOrderVO> findListByCreator(WmsCheckBoundOrderQuery query);

    void updateByCheckOrderId(WmsCheckBoundOrderPO wmsCheckBoundOrderPO, Long checkOrderId);

    WmsCheckBoundOrderPO findById(Long checkOrderId);

    void updateToChecking(Long checkOrderId);

    void updateToFailed(Long id);

    void saveOrderWareStorageRelation(Long id, List<WarehouseStorage> targetList);
}
